Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- Finite state machine



  A Peek Inside the Erlang Compiler

Erlang is a complex system, and I can’t do its inner workings justice in a short article, but I wanted to give some insight into what goes on when a module is compiled and loaded. As with most compilers, the first step is to convert the textual source to an abstract syntax tree, but that’s unremarkable. What is interesting is that the code goes through three major representations, and you can look at each of them. Erlang is unique among functional languages in its casual scop...

   Erlang,Peek,Erlang compiler     2012-02-08 10:12:04

  The Erlang Design Pattern

Over the last couple of weeks I did an OO programming experiment. I call it the Erlang design pattern. It is based on the Actor model but goes some steps further. At its core just like the Actor model there are active entities (objects) that have a thread and a message queue with the thread waiting on the message queue to do some stuff. The Erlang design pattern extends the Actor model by first dividing the software program into active (actors, that have their own thread) and passive ...

   Erlang,Thread,Pattern,OS Threads     2012-02-06 07:47:56

  CASSANDRA data model

Cassandra is an open source distributed database, it combines dynamic key/value and column oriented feature of Bigtable. Features of Cassandra are: Flexible schema, no need to design schema first, it's very convenient to add or delete strings Support range search on keys High usability, extensible. The single node error will not affect the cluster. We can think Cassandra's data model as a 4 or 5 dimensional Hash. COLUMN Columns is the smallest data unit in Cassandra, it is a 3 dimensional data...

   Cassandra,database,sort     2013-06-08 22:07:40

  Inside Google's recruiting machine

FORTUNE -- In the hot war for talent being fought in Silicon Valley, no company has an arsenal quite like Google's. Named Fortune's Best Company to Work For in 2012, the search giant made a record 8,067 hires last year -- boosting total headcount by a third. The thirteen-year-old firm's recruiting has an almost mythical quality about it, particularly for the two million candidates applying to work there each year. In terms of elite American institutions, getting a job at Google ranks with b...

   Google,Recruiter,Contract,Recruit machine     2012-02-25 04:50:01

  A Solution to CPU-intensive Tasks in IO Loops

Back in October 2011, Ted Dziuba infamously said that Node.js is Cancer.  A provocative title to a provocative article.  The only thing it didn’t really provoke in the commentary was much thought ;)  Zing. My interpretation of the article is that Ted holds up the classic blocking-IO process-per-request (or  thread per request; same difference) model as superior.  Yet we all remember where the blocking-IO forking model got Apache in the early days.  ...

   CPU,Intensive IO loops,Solution,C++     2012-02-06 07:42:40

  Difference between localhost and 127.0.0.1

Lots of people would think what the address 127.0.0.1 is when first seeing this address. In fact, 127.0.0.1 is a loopback address which refers to the local machine. It is generally used for local testing. When typing ping 127.0.0.1 on local command console, it will send network packets to local IP/TCP layer to test whether IP/TCP works properly or not.  To those who are used to use localhost, it is actually mapped to 127.0.0.1 by default. There are hosts files in the system which store this...

   LINUX,NETWORK,LOCALHOST,127.0.0.1,LOCALHOST VS 127.0.0.1     2018-09-29 22:11:12

  Traditional recursion vs Tail recursion

Recursion is a frequently adopted pattern for solving some sort of algorithm problems which need to divide and conquer a big issue and solve the smaller but the same issue first. For example, calculating fibonacci  accumulating sum and calculating factorials. In these kinds of issues, recursion is more straightforward than their loop counterpart. Furthermore, recursion may need less code and looks more concise. For example, let's calculate sum of a set of numbers starting with 0 and st...

   ALGORITHM,RECURSION,TAIL RECURSION,TRADITIONAL RECURSION     2016-09-23 23:54:09

  WireGuard VPN Troubleshooting

When you are working as a network/cluster admin for you team to config the WireGuard VPN for other members, you may meet some of the problems below and these are the solution you can try to fix them. ----------------------------------------------------------------------------------------------------------- Problem [1]: The WireGuard handshake request send from the client can be received from the server but the server's response was blocked at some where so the client can not receive serv...

   WIREGUARD,VPN,TROUBLESHOOTING     2021-12-14 09:17:46

  combining dwarf failed: unknown load command 0x80000034 solution in GoLang

In case there is below error encountered while running some go program: combining dwarf failed: unknown load command 0x80000034 This may be due to that you are running go 1.16 on a Mac M! machine. If you go to check go version, it may tell you that you are running an arm version of go. go version go1.16.10 darwin/arm64 In such cases, you can try below methods to workaround the issue. Try to upgrade the go version to 1.17 and run the code again. If this is not an option for you because you have t...

   GO 1.16,0X80000034     2021-11-25 07:11:28

  Why is programming unique profession

Why programming is unique profession - Presentation Transcript Introduction Some people says programming is difficult and for some others it is so easy. It not only depends on your capabilities, but your attitude for work. Programming is hard indeed, but not at all as difficult as life of a crook or joker who pretend, lie and act for living. Knowing what you do, life is going to be much more interesting and enjoyable for a programmer. You play with a dumb machine Computer is dumb machine. Unless...

   Programming,Unique profession,Reason     2011-07-22 23:55:09